/*
 * Cerenkov_Counter3.h
 *
 *  Created on: 22 October, 2012
 *      Author: Jessie McNew
 *
 *  This class is written to implement the construction of small auxiliary
 *  RICH detectors from the Alarcon group of Arizona State University.  The
 *  structure of this code is designed to mimic conventions used elsewhere in
 *  the MC code.
 */

#ifndef CERENKOV_COUNTER3_H_
#define CERENKOV_COUNTER3_H_

//	I like to include here rather than having incomplete class declarations
//	that have the potential to be problematic.
#include <G4LogicalVolume.hh>
#include <G4Material.hh>
#include <G4NistManager.hh>
#include <G4VPhysicalVolume.hh>

class Cerenkov_Counter3 {
public:
	//	Obligatory constructor/destructor
	Cerenkov_Counter3();
	virtual ~Cerenkov_Counter3();

	//	Method for carrying out Cerenkov component construction
	void Build(G4VPhysicalVolume* World_Phys);

//private:
//	double aerogelwid, taheta, ethao;
	G4LogicalVolume* buildAerogelTile(const G4String& name, double length,
			double width, double depth, double greenIndex);
	double scale_a0(double greenIndex, double lambda0);
	double getIndex(double lambda, double a0, double lambda0);

	G4NistManager* nistMan;
	G4Material* Al;
	G4Material* air;
	G4Material* SiO2;
	G4VPhysicalVolume* airPhys;
};

#endif /* CERENKOV_COUNTER3_H_ */
